Field of the Invention
The present invention relates to a technique for implementing control over an order of data processing using a plurality of queues.
Description of the Related Art
There are services for managing various network devices by a computing system constructed by using cloud services. Examples of the network devices include health appliances, image processing apparatuses, home electric appliances, and vehicle-mounted terminals. An information processing system using a cloud service collects a large amount of data, such as a log indicating an operation status from a plurality of network devices, and aggregates and analyzes the large amount of data afterwards. The result of aggregation or analysis can be presented as a report to a user. The report can be displayed on a web page. A report generated in the form of a file such as a Portable Document Format (PDF) file can be presented to the user.
It takes time to aggregate and analyze a large amount of logs. Logs are therefore aggregated, for example, by automatically generating a request for aggregate processing on a regular basis or by performing aggregation when a report generation request is accepted from the user.
In the case of sequentially performing aggregate processing for each request, suppose that a report generation request is accepted from the user during execution of regular aggregate processing. If in response to the report generation request, the aggregate processing is executed after the completion of the aggregate processing, it takes a substantial amount of time to present the report to the user. To present the report to the user in a short time, the priority of the aggregate processing needs to be managed appropriately.
Japanese Patent Application Laid-Open No. 2010-26815 discusses a technique for managing the priority of data processing to efficiently transmit data by using a plurality of types of queues. Specifically, two queues such as a high-speed queue and a low-speed queue are used to distribute and process data between the queues according to the priority of the data to be processed.
The foregoing aggregate and analysis processing of the information processing system can also be performed in consideration of the priorities of respective requests by using a plurality of queues. Specifically, if a report generation request is accepted from the user, the request is input to a priority queue for processing requests of relatively high priority. In performing an aggregation process, requests input to the priority queue can be handled first.
As described above, a plurality of queues may be used to manage requests of different priorities. In such a case, for example, if the user requests the generation of a report, the user's waiting time until the presentation of the report can be reduced.
However, if all report generation requests from the user are input to the priority queue as requests of the same high priority, the processing of a request of even higher priority in the priority queue can be delayed. Report generation requests from the user may include a request of a low processing load.
Therefore, when processing efficiency of each request in the system and the waiting time of the system user are taken into consideration, the input method and processing order of the requests to be input to a priority queue need to be controlled depending on the contents of the requests.